package com.example.springboot_shiro.domain.tttt;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ReserveExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ReserveExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public ReserveExample orderBy(String orderByClause) {
        this.setOrderByClause(orderByClause);
        return this;
    }

    public ReserveExample orderBy(String... orderByClauses) {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < orderByClauses.length; i++) {
            sb.append(orderByClauses[i]);
            if (i < orderByClauses.length - 1) {
                sb.append(" , ");
            }
        }
        this.setOrderByClause(sb.toString());
        return this;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria(this);
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public static Criteria newAndCreateCriteria() {
        ReserveExample example = new ReserveExample();
        return example.createCriteria();
    }

    public ReserveExample when(boolean condition, IExampleWhen then) {
        if (condition) {
            then.example(this);
        }
        return this;
    }

    public ReserveExample when(boolean condition, IExampleWhen then, IExampleWhen otherwise) {
        if (condition) {
            then.example(this);
        } else {
            otherwise.example(this);
        }
        return this;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andReserveIdIsNull() {
            addCriterion("reserve_id is null");
            return (Criteria) this;
        }

        public Criteria andReserveIdIsNotNull() {
            addCriterion("reserve_id is not null");
            return (Criteria) this;
        }

        public Criteria andReserveIdEqualTo(String value) {
            addCriterion("reserve_id =", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdNotEqualTo(String value) {
            addCriterion("reserve_id <>", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdGreaterThan(String value) {
            addCriterion("reserve_id >", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_id >=", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdLessThan(String value) {
            addCriterion("reserve_id <", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdLessThanOrEqualTo(String value) {
            addCriterion("reserve_id <=", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdLike(String value) {
            addCriterion("reserve_id like", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdNotLike(String value) {
            addCriterion("reserve_id not like", value, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdIn(List<String> values) {
            addCriterion("reserve_id in", values, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdNotIn(List<String> values) {
            addCriterion("reserve_id not in", values, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdBetween(String value1, String value2) {
            addCriterion("reserve_id between", value1, value2, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveIdNotBetween(String value1, String value2) {
            addCriterion("reserve_id not between", value1, value2, "reserveId");
            return (Criteria) this;
        }

        public Criteria andReserveNameIsNull() {
            addCriterion("reserve_name is null");
            return (Criteria) this;
        }

        public Criteria andReserveNameIsNotNull() {
            addCriterion("reserve_name is not null");
            return (Criteria) this;
        }

        public Criteria andReserveNameEqualTo(String value) {
            addCriterion("reserve_name =", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameNotEqualTo(String value) {
            addCriterion("reserve_name <>", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameGreaterThan(String value) {
            addCriterion("reserve_name >", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_name >=", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameLessThan(String value) {
            addCriterion("reserve_name <", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameLessThanOrEqualTo(String value) {
            addCriterion("reserve_name <=", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameLike(String value) {
            addCriterion("reserve_name like", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameNotLike(String value) {
            addCriterion("reserve_name not like", value, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameIn(List<String> values) {
            addCriterion("reserve_name in", values, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameNotIn(List<String> values) {
            addCriterion("reserve_name not in", values, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameBetween(String value1, String value2) {
            addCriterion("reserve_name between", value1, value2, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveNameNotBetween(String value1, String value2) {
            addCriterion("reserve_name not between", value1, value2, "reserveName");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeIsNull() {
            addCriterion("reserve_describe is null");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeIsNotNull() {
            addCriterion("reserve_describe is not null");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeEqualTo(String value) {
            addCriterion("reserve_describe =", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeNotEqualTo(String value) {
            addCriterion("reserve_describe <>", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeGreaterThan(String value) {
            addCriterion("reserve_describe >", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_describe >=", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeLessThan(String value) {
            addCriterion("reserve_describe <", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeLessThanOrEqualTo(String value) {
            addCriterion("reserve_describe <=", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeLike(String value) {
            addCriterion("reserve_describe like", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeNotLike(String value) {
            addCriterion("reserve_describe not like", value, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeIn(List<String> values) {
            addCriterion("reserve_describe in", values, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeNotIn(List<String> values) {
            addCriterion("reserve_describe not in", values, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeBetween(String value1, String value2) {
            addCriterion("reserve_describe between", value1, value2, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveDescribeNotBetween(String value1, String value2) {
            addCriterion("reserve_describe not between", value1, value2, "reserveDescribe");
            return (Criteria) this;
        }

        public Criteria andReserveLimitIsNull() {
            addCriterion("reserve_limit is null");
            return (Criteria) this;
        }

        public Criteria andReserveLimitIsNotNull() {
            addCriterion("reserve_limit is not null");
            return (Criteria) this;
        }

        public Criteria andReserveLimitEqualTo(Integer value) {
            addCriterion("reserve_limit =", value, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitNotEqualTo(Integer value) {
            addCriterion("reserve_limit <>", value, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitGreaterThan(Integer value) {
            addCriterion("reserve_limit >", value, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("reserve_limit >=", value, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitLessThan(Integer value) {
            addCriterion("reserve_limit <", value, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitLessThanOrEqualTo(Integer value) {
            addCriterion("reserve_limit <=", value, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitIn(List<Integer> values) {
            addCriterion("reserve_limit in", values, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitNotIn(List<Integer> values) {
            addCriterion("reserve_limit not in", values, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitBetween(Integer value1, Integer value2) {
            addCriterion("reserve_limit between", value1, value2, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("reserve_limit not between", value1, value2, "reserveLimit");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeIsNull() {
            addCriterion("reserve_start_time is null");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeIsNotNull() {
            addCriterion("reserve_start_time is not null");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeEqualTo(Date value) {
            addCriterion("reserve_start_time =", value, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeNotEqualTo(Date value) {
            addCriterion("reserve_start_time <>", value, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeGreaterThan(Date value) {
            addCriterion("reserve_start_time >", value, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reserve_start_time >=", value, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeLessThan(Date value) {
            addCriterion("reserve_start_time <", value, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeLessThanOrEqualTo(Date value) {
            addCriterion("reserve_start_time <=", value, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeIn(List<Date> values) {
            addCriterion("reserve_start_time in", values, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeNotIn(List<Date> values) {
            addCriterion("reserve_start_time not in", values, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeBetween(Date value1, Date value2) {
            addCriterion("reserve_start_time between", value1, value2, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveStartTimeNotBetween(Date value1, Date value2) {
            addCriterion("reserve_start_time not between", value1, value2, "reserveStartTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeIsNull() {
            addCriterion("reserve_end_time is null");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeIsNotNull() {
            addCriterion("reserve_end_time is not null");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeEqualTo(Date value) {
            addCriterion("reserve_end_time =", value, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeNotEqualTo(Date value) {
            addCriterion("reserve_end_time <>", value, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeGreaterThan(Date value) {
            addCriterion("reserve_end_time >", value, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reserve_end_time >=", value, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeLessThan(Date value) {
            addCriterion("reserve_end_time <", value, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeLessThanOrEqualTo(Date value) {
            addCriterion("reserve_end_time <=", value, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeIn(List<Date> values) {
            addCriterion("reserve_end_time in", values, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeNotIn(List<Date> values) {
            addCriterion("reserve_end_time not in", values, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeBetween(Date value1, Date value2) {
            addCriterion("reserve_end_time between", value1, value2, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveEndTimeNotBetween(Date value1, Date value2) {
            addCriterion("reserve_end_time not between", value1, value2, "reserveEndTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeIsNull() {
            addCriterion("reserve_create_time is null");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeIsNotNull() {
            addCriterion("reserve_create_time is not null");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeEqualTo(Date value) {
            addCriterion("reserve_create_time =", value, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeNotEqualTo(Date value) {
            addCriterion("reserve_create_time <>", value, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeGreaterThan(Date value) {
            addCriterion("reserve_create_time >", value, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("reserve_create_time >=", value, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeLessThan(Date value) {
            addCriterion("reserve_create_time <", value, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("reserve_create_time <=", value, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeIn(List<Date> values) {
            addCriterion("reserve_create_time in", values, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeNotIn(List<Date> values) {
            addCriterion("reserve_create_time not in", values, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeBetween(Date value1, Date value2) {
            addCriterion("reserve_create_time between", value1, value2, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("reserve_create_time not between", value1, value2, "reserveCreateTime");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserIsNull() {
            addCriterion("reserve_create_user is null");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserIsNotNull() {
            addCriterion("reserve_create_user is not null");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserEqualTo(String value) {
            addCriterion("reserve_create_user =", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserNotEqualTo(String value) {
            addCriterion("reserve_create_user <>", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserGreaterThan(String value) {
            addCriterion("reserve_create_user >", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_create_user >=", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserLessThan(String value) {
            addCriterion("reserve_create_user <", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserLessThanOrEqualTo(String value) {
            addCriterion("reserve_create_user <=", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserLike(String value) {
            addCriterion("reserve_create_user like", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserNotLike(String value) {
            addCriterion("reserve_create_user not like", value, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserIn(List<String> values) {
            addCriterion("reserve_create_user in", values, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserNotIn(List<String> values) {
            addCriterion("reserve_create_user not in", values, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserBetween(String value1, String value2) {
            addCriterion("reserve_create_user between", value1, value2, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveCreateUserNotBetween(String value1, String value2) {
            addCriterion("reserve_create_user not between", value1, value2, "reserveCreateUser");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayIsNull() {
            addCriterion("reserve_result_display is null");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayIsNotNull() {
            addCriterion("reserve_result_display is not null");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayEqualTo(String value) {
            addCriterion("reserve_result_display =", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayNotEqualTo(String value) {
            addCriterion("reserve_result_display <>", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayGreaterThan(String value) {
            addCriterion("reserve_result_display >", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_result_display >=", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayLessThan(String value) {
            addCriterion("reserve_result_display <", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayLessThanOrEqualTo(String value) {
            addCriterion("reserve_result_display <=", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayLike(String value) {
            addCriterion("reserve_result_display like", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayNotLike(String value) {
            addCriterion("reserve_result_display not like", value, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayIn(List<String> values) {
            addCriterion("reserve_result_display in", values, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayNotIn(List<String> values) {
            addCriterion("reserve_result_display not in", values, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayBetween(String value1, String value2) {
            addCriterion("reserve_result_display between", value1, value2, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveResultDisplayNotBetween(String value1, String value2) {
            addCriterion("reserve_result_display not between", value1, value2, "reserveResultDisplay");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagIsNull() {
            addCriterion("reserve_delete_flag is null");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagIsNotNull() {
            addCriterion("reserve_delete_flag is not null");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagEqualTo(String value) {
            addCriterion("reserve_delete_flag =", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagNotEqualTo(String value) {
            addCriterion("reserve_delete_flag <>", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagGreaterThan(String value) {
            addCriterion("reserve_delete_flag >", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_delete_flag >=", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagLessThan(String value) {
            addCriterion("reserve_delete_flag <", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagLessThanOrEqualTo(String value) {
            addCriterion("reserve_delete_flag <=", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagLike(String value) {
            addCriterion("reserve_delete_flag like", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagNotLike(String value) {
            addCriterion("reserve_delete_flag not like", value, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagIn(List<String> values) {
            addCriterion("reserve_delete_flag in", values, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagNotIn(List<String> values) {
            addCriterion("reserve_delete_flag not in", values, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagBetween(String value1, String value2) {
            addCriterion("reserve_delete_flag between", value1, value2, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveDeleteFlagNotBetween(String value1, String value2) {
            addCriterion("reserve_delete_flag not between", value1, value2, "reserveDeleteFlag");
            return (Criteria) this;
        }

        public Criteria andReserveImgIsNull() {
            addCriterion("reserve_img is null");
            return (Criteria) this;
        }

        public Criteria andReserveImgIsNotNull() {
            addCriterion("reserve_img is not null");
            return (Criteria) this;
        }

        public Criteria andReserveImgEqualTo(String value) {
            addCriterion("reserve_img =", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgNotEqualTo(String value) {
            addCriterion("reserve_img <>", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgGreaterThan(String value) {
            addCriterion("reserve_img >", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_img >=", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgLessThan(String value) {
            addCriterion("reserve_img <", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgLessThanOrEqualTo(String value) {
            addCriterion("reserve_img <=", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgLike(String value) {
            addCriterion("reserve_img like", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgNotLike(String value) {
            addCriterion("reserve_img not like", value, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgIn(List<String> values) {
            addCriterion("reserve_img in", values, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgNotIn(List<String> values) {
            addCriterion("reserve_img not in", values, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgBetween(String value1, String value2) {
            addCriterion("reserve_img between", value1, value2, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveImgNotBetween(String value1, String value2) {
            addCriterion("reserve_img not between", value1, value2, "reserveImg");
            return (Criteria) this;
        }

        public Criteria andReserveStatusIsNull() {
            addCriterion("reserve_status is null");
            return (Criteria) this;
        }

        public Criteria andReserveStatusIsNotNull() {
            addCriterion("reserve_status is not null");
            return (Criteria) this;
        }

        public Criteria andReserveStatusEqualTo(String value) {
            addCriterion("reserve_status =", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotEqualTo(String value) {
            addCriterion("reserve_status <>", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusGreaterThan(String value) {
            addCriterion("reserve_status >", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusGreaterThanOrEqualTo(String value) {
            addCriterion("reserve_status >=", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusLessThan(String value) {
            addCriterion("reserve_status <", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusLessThanOrEqualTo(String value) {
            addCriterion("reserve_status <=", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusLike(String value) {
            addCriterion("reserve_status like", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotLike(String value) {
            addCriterion("reserve_status not like", value, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusIn(List<String> values) {
            addCriterion("reserve_status in", values, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotIn(List<String> values) {
            addCriterion("reserve_status not in", values, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusBetween(String value1, String value2) {
            addCriterion("reserve_status between", value1, value2, "reserveStatus");
            return (Criteria) this;
        }

        public Criteria andReserveStatusNotBetween(String value1, String value2) {
            addCriterion("reserve_status not between", value1, value2, "reserveStatus");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        private ReserveExample example;

        protected Criteria(ReserveExample example) {
            super();
            this.example = example;
        }

        public ReserveExample example() {
            return this.example;
        }

        @Deprecated
        public Criteria andIf(boolean ifAdd, ICriteriaAdd add) {
            if (ifAdd) {
                add.add(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then) {
            if (condition) {
                then.criteria(this);
            }
            return this;
        }

        public Criteria when(boolean condition, ICriteriaWhen then, ICriteriaWhen otherwise) {
            if (condition) {
                then.criteria(this);
            } else {
                otherwise.criteria(this);
            }
            return this;
        }

        @Deprecated
        public interface ICriteriaAdd {
            Criteria add(Criteria add);
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }

    public interface ICriteriaWhen {
        void criteria(Criteria criteria);
    }

    public interface IExampleWhen {
        void example(ReserveExample example);
    }
}